from typing import List

from pyecharts.charts import Bar
from pyecharts.globals import ThemeType
from pyecharts.options import TitleOpts, InitOpts, LabelOpts

from utils.data_define import Record
from utils.file_define import TextFileReader, JsonFileReader

text_file_reader = TextFileReader("2011年1月销售数据.txt")
json_file_reader = JsonFileReader("2011年2月销售数据JSON.txt")

jan_data: List[Record] = text_file_reader.read_data()
feb_data: List[Record] = json_file_reader.read_data()

all_data = jan_data + feb_data
dict_data = {}
for record in all_data:
    if record.date in dict_data.keys():
        dict_data[record.date] += record.money
    else:
        dict_data[record.date] = record.money

bar = Bar(init_opts=InitOpts(theme=ThemeType.LIGHT))
bar.add_xaxis(list(dict_data.keys()))
bar.add_yaxis("销售额", list(dict_data.values()),label_opts=LabelOpts(is_show=False))
bar.set_global_opts(title_opts=TitleOpts(title="2021年1月-2月销售额"))
bar.render("2021年1月-2月销售额.html")

if __name__ == '__main__':
    print(all_data)
